#include"taskQueue.h"

int taskQueueInit(taskQueue_t *taskQueue){
    taskQueue->pFront=NULL;
    taskQueue->pRear=NULL;
    taskQueue->queueSize=0;
    pthread_mutex_init(&taskQueue->mutex,NULL);
    pthread_cond_init(&taskQueue->cond,NULL);
    puts("任务队列就绪!!");
    return 0;
}

int EntaskQueue(taskQueue_t *taskQueue,int vfd){
    task_t * t= (task_t *)calloc(1,sizeof(task_t));
    t->netfd=vfd;
    if (taskQueue->queueSize==0)
    {
        taskQueue->pFront=t;
        taskQueue->pRear=t;
    }else{
        taskQueue->pRear->pNext=t;
        taskQueue->pRear=t;
    }
    taskQueue->queueSize++;
    return 0;
}

int DetaskQueue(taskQueue_t *taskQueue){
    task_t * task=taskQueue->pFront;
    int vfd = task->netfd;
    taskQueue->pFront=task->pNext;
    taskQueue->queueSize--;
    free(task);
    return vfd;
}

